package com.systop.asset.service;

import com.systop.asset.entity.MaterialDisposal;
import java.util.List;

/**
 * <p>InterfaceName : IMaterialDisposalService</p>
 * <p>Description : 物资处置服务接口</p>
 *
 * @author 孙伟光
 * @version 1.0
 * @date 2025/7/7 15:48
 */
public interface IMaterialDisposalService {
    /**
     * 根据ID查询物资处置信息
     * @param id 物资处置ID
     * @return 物资处置信息
     */
    MaterialDisposal selectMaterialDisposalById(Long id);

    /**
     * 获取物资处置详情(包含明细)
     * @param id 物资处置ID
     * @return 物资处置详情
     */
    MaterialDisposal getMaterialDisposalDetailById(Long id);

    /**
     * 查询物资处置列表
     * @param materialDisposal 物资处置查询条件
     * @return 物资处置列表
     */
    List<MaterialDisposal> selectMaterialDisposalList(MaterialDisposal materialDisposal);

    /**
     * 新增物资处置(包含明细)
     * @param materialDisposal 物资处置信息
     * @return 结果
     */
    int insertMaterialDisposal(MaterialDisposal materialDisposal);

    /**
     * 修改物资处置(包含明细)
     * @param materialDisposal 物资处置信息
     * @return 结果
     */
    int updateMaterialDisposal(MaterialDisposal materialDisposal);

    /**
     * 删除物资处置信息(包含明细)
     * @param id 物资处置ID
     * @return 结果
     */
    int deleteMaterialDisposalById(Long id);

    /**
     * 批量删除物资处置信息(包含明细)
     * @param ids 需要删除的物资处置ID数组
     * @return 结果
     */
    int deleteMaterialDisposalByIds(Long[] ids);
}
